import urllib.request
from urllib.parse import quote
from bs4 import BeautifulSoup
import string

def nospace(world):
    return world.strip().replace(" ","").replace("\n","")
city = input("请输入城市：")
code = {
    '北京': '530',
    '上海': '538',
    '广州': '763',
    '深圳': '765',
    '天津': '531',
    '武汉': '736',
    '西安': '854',
    '成都': '801',
    '沈阳': '599',
    '南京': '635',
    '杭州': '653',
    '苏州': '639',
    '重庆': '551',
    '长沙': '749',
    '厦门': '682',
    '南昌': '691'
}
city=code[city]
jobName = input("请输入相关岗位:")
url = "https://sou.zhaopin.com/?jl="+city+"&kw="+jobName+"&p=1"
url = quote(url,safe=string.printable)
resp = urllib.request.urlopen(url)
content = resp.read().decode("utf-8")
soup = BeautifulSoup(content,"lxml")
jobList = soup.select(".joblist-box__item")
job_list = []
for job in jobList:
    job_dic = {}
    #岗位名称
    job_name = job.select(".jobinfo__name")[0].get_text()
    #工资
    job_sal = job.select(".jobinfo__salary")[0].getText()
    #取出工资数据包含的空格及换行
    job_sal = job_sal.strip().replace(" ","").replace("\n","")
    if '天' in job_sal:
        job_sal = int(job_sal.split("-")[0]) * 30
    elif ('千' in job_sal):
        job_sal = int(job_sal.split("千")[0]) * 1000
    elif ('万' in job_sal):
        job_sal = float(job_sal.split("万")[0]) *10000
    else:
        job_sal = 5000
    #公司名称
    company_name = job.select(".companyinfo__name")[0].get_text()
    #同时获取工作地点 工作经验 学历要求
    job_msg = job.select(".jobinfo__other-info-item")
    #工作地点
    job_place = job_msg[0].getText
    #工作经验
    job_exp = job_msg[1].getText
    #学历要求
    job_education = job_msg[2].getText
    #最后将数据存入字典
    job_dic['job_name'] = job_name
    job_dic['job_sal'] = job_sal
    job_dic['company_name'] = company_name
    job_dic['job_place'] = job_place[0:2]
    job_dic['job_exp'] = job_exp
    job_dic['job_education'] = job_education
    job_list.append(job_dic)
for i in job_list:
    print(i)

